package com.santu.com.util;

import org.aspectj.lang.ProceedingJoinPoint;

import java.util.Map;

/**
 * @author luoyaoqi
 * @createTime 2022/7/8
 * @description
 */
public interface ApiLockKeyGenerateStrategy {

    /**
     * 生成唯一lockKey
     * @param prefix
     * @param params
     * @return
     */
    String generateKey(String prefix, Map<String, Object> params);


    /**
     * 生成key的前缀
     * @param thisJoinPoint
     * @return
     */
    String getKeyPrefix(ProceedingJoinPoint thisJoinPoint);
}
